package com.gzhryc.shared_device.cdb.code;

import com.gzhryc.shared_device.cdb.code.dao.db.BatteryCabinet;
import com.gzhryc.shared_device.cdb.code.dao.db.BatteryCabinetSlot;

/**
 * 充电插座缓存管理
 * @version 2023-03-03
 */
public interface ICDBCacheManager {

    public BatteryCabinet getBatteryCabinet(String deviceSn);

    public void saveBatteryCabinet(BatteryCabinet batteryCabinet);

    public void removeBatteryCabinet(String deviceSn);

    public BatteryCabinetSlot getBatteryCabinetSlot(String deviceSn, Integer slotNum);

    public void saveBatteryCabinetSlot(BatteryCabinetSlot batteryCabinetSlot);

    public void removeBatteryCabinetSlot(String deviceSn,Integer slotNum);

    public void removeBatteryCabinetSlot(String deviceSn);

    public void setCommandResult(String deviceSn,String messageId,String content);

    public <T> T getCommandResult(String deviceSn,String messageId,Class<T> clazz);
}
